package com.qiang.work;

import java.io.*;

public class Demo01 {
    /*
     将D:/aa 目录下所有的图片复制到E:/bb目录
   File 创建目录 利用IO复制图片
     */
    public static void main(String[] args) throws IOException {


        //创建字节读取，字节传输，缓冲流,IO流只能读取文件，不能读取文件夹
        File f1 = new File("D:\\aa");

        //定义一个递归方法
        getFile(f1);

    }

    private static void getFile(File file) throws IOException {


        File[] f2 = file.listFiles();


        //判断是否是图片


        for (File f3 : f2) {

            //如果是文件夹，就进入下一次循环
            if (f3.isFile()) {
                //通过sbstring
                String name = f3.getName();
                String sp = name.substring(name.length() - 3, name.length());
                //System.out.println(sp);
                if (sp.equals("jpg")) {
                    //如果是图片的话，就使用缓冲流把f3读取过去
                    File ff = new File("D:\\bb", f3.getName());

                    //创建字节缓冲写入
                    BufferedOutputStream bb = new BufferedOutputStream(new FileOutputStream(ff));

                    File absoluteFile = f3.getAbsoluteFile();
                    //String path = f3.getPath();

                    BufferedInputStream bs = new BufferedInputStream(new FileInputStream(absoluteFile));

                    //创建字节数组读取
                    byte[] bt = new byte[1024];
                    int read;
                    while ((read = bs.read(bt)) != -1) {
                        bb.write(bt, 0, read);
                    }
                    bs.close();
                    bb.close();

                } /*else {
                    //不是图片的话，就使用递归，继续查找文件夹，切割文件夹，从何传输图片
                    getFile(f3);
                }*/
            } else {
                getFile(f3);
            }
            //getFile(f3);
        }
    }
}
